home *** CD-ROM | disk | FTP | other *** search
/ Software Vault: The Gold Collection / Software Vault - The Gold Collection (American Databankers) (1993).ISO / cdr48 / vdl020d.zip / VUART.DOC < prev    next >
Text File  |  1993-04-14  |  22KB  |  825 lines

  1. {
  2.  ════════════════════════════════════════════════════════════════════════════
  3.  
  4.  Visionix Serial Communictions Unit - 8250 specification (VUART)
  5.    Version 0.1
  6.  Copyright 1991,92,93 Visionix
  7.  ALL RIGHTS RESERVED
  8.  
  9.  ────────────────────────────────────────────────────────────────────────────
  10.  
  11.  ** revision history in reverse chronological order **
  12.  
  13.  Initials  Date      Comment
  14.  ────────  ────────  ────────────────────────────────────────────────────────
  15.  
  16.  lpg       03/16/93  Added Source Documentation
  17.  
  18.  mep       02/11/93  Cleaned up code for beta release
  19.  
  20.  jrt       11/21/92  Sync with beta 0.08
  21.  
  22.  mep       11/11/92  First logged revision.
  23.  
  24.  ────────────────────────────────────────────────────────────────────────────
  25. }
  26.  
  27. Unit VUART;
  28.  
  29.  
  30. Uses
  31.  
  32.   DOS,
  33.   VBios,
  34.   VTypes,
  35.   VSerLow;
  36.  
  37. {────────────────────────────────────────────────────────────────────────────}
  38.  
  39. Const
  40.  
  41.   TxMaxBuffSize : WORD = 16;
  42.   RxMaxBuffSize : WORD = 16;
  43.  
  44.   VUARTDriverInterval : BYTE = 4;  { number of internal loops until IRET }
  45.  
  46. Type
  47.  
  48.   AChar       = Array[1..1] of CHAR;
  49.   PChar       = ^AChar;
  50.  
  51.   TUARTBuff    = RECORD
  52.  
  53.     Buff      : PChar;    { Queue                        }
  54.     Head      : WORD;     { Store next character         }
  55.     Tail      : WORD;     { Retrieve next character      }
  56.     NumIn     : LONGINT;  { Number of characters in Buff }
  57.  
  58.   END;
  59.   PUARTBuff    = ^TUARTBuff;
  60.  
  61.   {----}
  62.  
  63.   TUARTIData   = RECORD
  64.  
  65.     ComPort   : BYTE;      { Communications port                             }
  66.     BaudRate  : LONGINT;   { Bits per second rate                            }
  67.     Parity    : CHAR;      { Parity of hardware error checking               }
  68.     DataBits  : BYTE;      { Number of data bits                             }
  69.     StopBits  : BYTE;      { Number of stop bits                             }
  70.     PortStat  : WORD;      { Condition of UART (MCR/LSR)                     }
  71.     Bit       : BYTE;      { Bit to check PortStat with                      }
  72.     Sig       : WORD;      { $1954 if UART-info installed                    }
  73.     MaxFunc   : BYTE;      { Max function  number supported                  }
  74.     UARTRev   : BYTE;      { Revision of VUART Driver specification          }
  75.     TickNum   : BYTE;      { Timer tick interrupt number                     }
  76.     TickPSec  : BYTE;      { Approximate interrupts per sec. (18 on IBM)     }
  77.     MilPTick  : WORD;      { Approximate number of milliseconds per tick     }
  78.     ChAvail   : BOOLEAN;   { Is a character waiting in receive buffer?       }
  79.     BuffFull  : BOOLEAN;   { Is the buffer in hand full?                     }
  80.     BuffEmpty : BOOLEAN;   { Is the buffer in hand empty?                    }
  81.     ScanCode  : WORD;      { Scancode from local kbd ($FFFF if empty)        }
  82.     
  83.     CtrlStat  : BYTE;      { Control-key bitfield for Ctrl-C/Ctrl-K          }
  84.     CtrlRcv   : BOOLEAN;   { a Ctrl-C or Ctrl-K has been received            }
  85.     WarmBoot  : BOOLEAN;   { Warmboot the system.  Otherwise, coldboot       }
  86.     Buff      : POINTER;   { Block Read/Write Buffer Pointer                 }
  87.     Count     : WORD;      { Number of bytes to transfer of Buff.            }
  88.     Result    : WORD;      { Number of bytes of Buff actually transfered     }
  89.     CtrlReg   : BYTE;      { Condition of MCR (for get/set)                  }
  90.     BuffSize  : WORD;      { Size of Buff (in bytes)                         }
  91.     Ch        : CHAR;      { Generic Character (I/O)                         }
  92.     OnOff     : BOOLEAN;   { Generic parameter for On/Off (True/False)       }
  93.     X         : BYTE;      { Generic X-coordinate                            }
  94.     Y         : BYTE;      { Generic Y-coordinate                            }
  95.  
  96.     IRQ       : WORD;      { current IRQ    [4, 3]                }
  97.     Intrpt    : WORD;      { current Intrpt [$C, $B]              }
  98.  
  99.     OldIER    : BYTE;
  100.     OldMCR    : BYTE;
  101.     OldVect   : POINTER;
  102.     OldICMask : BYTE;
  103.  
  104.   { RxBuff    : TComBuff;
  105.     TxBuff    : TComBuff;  }
  106.  
  107.   END;
  108.   PUARTIData   = ^TUARTIData;
  109.  
  110. {────────────────────────────────────────────────────────────────────────────}
  111.  
  112. Procedure VUARTSetCommParam(           ComPort      : LONGINT;
  113.                                        BaudRate     : WORD;
  114.                                        Parity       : CHAR;
  115.                                        DataBits     : BYTE;
  116.                                        StopBits     : BYTE;
  117.                                    Var PortStat     : WORD;
  118.                                        IData        : PUARTIData);
  119.  
  120. Procedure VUARTSendCharW(              ComPort      : WORD;
  121.                                        Ch           : CHAR;
  122.                                    Var PortStat     : WORD;
  123.                                        IData        : PUARTIData);
  124.  
  125. Procedure VUARTRecvCharW(              ComPort      : WORD;
  126.                                    Var Ch           : CHAR;
  127.                                    Var PortStat     : WORD;
  128.                                        IData        : PUARTIData);
  129.  
  130. Function  VUARTGetChar(                ComPort      : WORD     ) : CHAR;
  131.  
  132. Procedure VUARTGetPortStat(            ComPort      : WORD;
  133.                                    Var PortStat     : WORD;
  134.                                        IData        : PUARTIData);
  135.  
  136. Function  VUARTChkPortStat(            ComPort      : WORD;
  137.                                        Bit          : BYTE;
  138.                                        IData        : PUARTIData) : BOOLEAN;
  139.  
  140. Procedure VUARTActivatePort(           ComPort      : WORD;
  141.                                    Var Sig          : WORD;
  142.                                    Var MaxFunc      : BYTE;
  143.                                    Var FosRev       : BYTE;
  144.                                        IData        : PUARTIData);
  145.  
  146. Procedure VUARTDeActivatePort(         ComPort      : WORD;
  147.                                        IData        : PUARTIData);
  148.  
  149. Procedure VUARTSetDTR(                 ComPort      : WORD;
  150.                                        OnOff        : BOOLEAN;
  151.                                        IData        : PUARTIData);
  152.  
  153. Procedure VUARTGetTimeTickInfo(    Var TickNum      : BYTE;
  154.                                    Var TickPSec     : BYTE;
  155.                                    Var MilPTick     : WORD     );
  156.  
  157. Procedure VUARTFlushOutBuff(           ComPort      : WORD     );
  158.  
  159. Procedure VUARTPurgeOutBuff(           ComPort      : WORD;
  160.                                        IData        : PUARTIData);
  161.  
  162. Procedure VUARTPurgeInBuff(            ComPort      : WORD;
  163.                                        IData        : PUARTIData);
  164.  
  165. Procedure VUARTSendChar(               ComPort      : WORD;
  166.                                        Ch           : CHAR;
  167.                                    Var BuffFull     : BOOLEAN;
  168.                                        IData        : PUARTIData);
  169.  
  170. Procedure VUARTRecvChar(               ComPort      : WORD;
  171.                                    Var Ch           : CHAR;
  172.                                    Var BuffEmpty    : BOOLEAN;
  173.                                        IData        : PUARTIData);
  174.  
  175. Procedure VUARTPeekAhead(              ComPort      : WORD;
  176.                                    Var BuffEmpty    : BOOLEAN;
  177.                                    Var Ch           : CHAR     );
  178.  
  179. Procedure VUARTSetFlowControl(         ComPort      : WORD;
  180.                                        FlowStat     : BYTE     );
  181.  
  182. Procedure VUARTControlCheck(           ComPort      : WORD;
  183.                                        CtrlStat     : BYTE;
  184.                                    Var CtrlRcv      : BOOLEAN  );
  185.  
  186. Procedure VUARTRecvBlock(              ComPort      : WORD;
  187.                                        Buff         : POINTER;
  188.                                        Count        : WORD;
  189.                                    Var Result       : WORD     );
  190.  
  191. Procedure VUARTSendBlock(              ComPort      : WORD;
  192.                                        Buff         : POINTER;
  193.                                        Count        : WORD;
  194.                                    Var Result       : WORD     );
  195.  
  196. Procedure VUARTSetBreak(               ComPort      : WORD;
  197.                                        OnOff        : BOOLEAN  );
  198.  
  199.  
  200.  
  201. {────────────────────────────────────────────────────────────────────────────}
  202.  
  203. Procedure UARTSerDriverProc( SDP : PSerDriverPacket );
  204.  
  205. {────────────────────────────────────────────────────────────────────────────}
  206.  
  207.  
  208. ──────────────────────────────────────────────────────────────────────────────
  209.  
  210.  
  211. [FUNCTION]
  212.  
  213. Procedure VUARTSetCommParam(           ComPort      : LONGINT;
  214.                                        BaudRate     : WORD;
  215.                                        Parity       : CHAR;
  216.                                        DataBits     : BYTE;
  217.                                        StopBits     : BYTE;
  218.                                    Var PortStat     : WORD;
  219.                                        IData        : PUARTIData);
  220.  
  221. [PARAMETERS]
  222.  
  223. ComPort     Communications Port Number
  224. BuadRate    Desired Baud Rate for Port
  225. Parity      Desired Parity for Port
  226. DataBits    Desired Number of Data Bits for Port
  227. StopBits    Desired Number of Stop Bits for Port
  228. PortStat    VAR Returned ?
  229. IData       Pointer to UART IData Structure
  230. [RETURNS]
  231.  
  232. [DESCRIPTION]
  233.  
  234. {----------------------------------------------------------------------------}
  235. {                                                                            }
  236. { Function 00h - Set communications parameters, baud, parity etc.            }
  237. {                                                                            }
  238. { The IBM PC BIOS call to set modem status.                                  }
  239. {                                                                            }
  240. { INPUT: ComPort, BaudRate, Parity, DataBits, StopBits                       }
  241. {                                                                            }
  242. { OUTPUT: PortStat                                                           }
  243. {                                                                            }
  244. {----------------------------------------------------------------------------}
  245.  
  246. [SEE-ALSO]
  247.  
  248. [EXAMPLE]
  249.  
  250.  
  251. ──────────────────────────────────────────────────────────────────────────────
  252.  
  253.  
  254. [FUNCTION]
  255.  
  256. Procedure VUARTSendCharW(              ComPort      : WORD;
  257.                                        Ch           : CHAR;
  258.                                    Var PortStat     : WORD;
  259.                                        IData        : PUARTIData);
  260.  
  261. [PARAMETERS]
  262.  
  263. ComPort     Communications Port Number
  264. Ch          Charcter to Send
  265. PortStat    VAR Returned ?
  266. IData       Pointer to UART IData Structure
  267.  
  268. [RETURNS]
  269.  
  270. Function : None
  271. (VAR     : [PortStat] ?)
  272.  
  273. [DESCRIPTION]
  274.  
  275. [SEE-ALSO]
  276.  
  277. [EXAMPLE]
  278.  
  279.  
  280. ──────────────────────────────────────────────────────────────────────────────
  281.  
  282.  
  283. [FUNCTION]
  284.  
  285. Procedure VUARTRecvCharW(              ComPort      : WORD;
  286.                                    Var Ch           : CHAR;
  287.                                    Var PortStat     : WORD;
  288.                                        IData        : PUARTIData);
  289.  
  290. [PARAMETERS]
  291.  
  292. ComPort     Communications Port Number
  293. Ch          VAR Returned ?
  294. PortStat    VAR Returned ?
  295. IData       Pointer to UART IData Structure
  296.  
  297. [RETURNS]
  298.  
  299. Function : None
  300. (VAR     : [Ch] ?)
  301. (VAR     : [PortStat] ?)
  302.  
  303. [DESCRIPTION]
  304.  
  305. [SEE-ALSO]
  306.  
  307. [EXAMPLE]
  308.  
  309.  
  310. ──────────────────────────────────────────────────────────────────────────────
  311.  
  312.  
  313. [FUNCTION]
  314.  
  315. Function  VUARTGetChar(                ComPort      : WORD     ) : CHAR;
  316.  
  317. [PARAMETERS]
  318.  
  319. ComPort     Communications Port Number
  320.  
  321. [RETURNS]
  322.  
  323. Character Read from that Comm Port
  324.  
  325. [DESCRIPTION]
  326.  
  327. [SEE-ALSO]
  328.  
  329. [EXAMPLE]
  330.  
  331.  
  332. ──────────────────────────────────────────────────────────────────────────────
  333.  
  334.  
  335. [FUNCTION]
  336.  
  337. Procedure VUARTGetPortStat(            ComPort      : WORD;
  338.                                    Var PortStat     : WORD;
  339.                                        IData        : PUARTIData);
  340.  
  341. [PARAMETERS]
  342.  
  343. ComPort     Communications Port Number
  344. PortStat    VAR Returned ?
  345. IData       Pointer to UART IData Structure
  346.  
  347. [RETURNS]
  348.  
  349. (None)
  350.  
  351. [DESCRIPTION]
  352.  
  353. [SEE-ALSO]
  354.  
  355. [EXAMPLE]
  356.  
  357.  
  358. ──────────────────────────────────────────────────────────────────────────────
  359.  
  360.  
  361. [FUNCTION]
  362.  
  363. Function  VUARTChkPortStat(            ComPort      : WORD;
  364.                                        Bit          : BYTE;
  365.                                        IData        : PUARTIData) : BOOLEAN;
  366.  
  367. [PARAMETERS]
  368.  
  369. ComPort     Communications Port Number
  370. Bit         ?
  371. IData       Pointer to UART IData Structure
  372.  
  373. [RETURNS]
  374.  
  375. Whether the ...
  376.  
  377. [DESCRIPTION]
  378.  
  379. [SEE-ALSO]
  380.  
  381. [EXAMPLE]
  382.  
  383.  
  384. ──────────────────────────────────────────────────────────────────────────────
  385.  
  386.  
  387. [FUNCTION]
  388.  
  389. Procedure VUARTActivatePort(           ComPort      : WORD;
  390.                                    Var Sig          : WORD;
  391.                                    Var MaxFunc      : BYTE;
  392.                                    Var FosRev       : BYTE;
  393.                                        IData        : PUARTIData);
  394.  
  395. [PARAMETERS]
  396.  
  397. ComPort     Communications Port Number
  398. Sig         VAR Returned ?
  399. MaxFunc     VAR Returned ?
  400. FosRev      VAR Returned ?
  401. IData       Pointer to UART IData Structure
  402.  
  403. [RETURNS]
  404.  
  405. Function : None
  406. (VAR     : [MaxFunc]
  407. (VAR     : [FosRev]
  408.  
  409. [DESCRIPTION]
  410.  
  411. [SEE-ALSO]
  412.  
  413. [EXAMPLE]
  414.  
  415.  
  416. ──────────────────────────────────────────────────────────────────────────────
  417.  
  418.  
  419. [FUNCTION]
  420.  
  421. Procedure VUARTDeActivatePort(         ComPort      : WORD;
  422.                                        IData        : PUARTIData);
  423.  
  424. [PARAMETERS]
  425.  
  426. ComPort     Communications Port Number
  427. IData       Pointer to UART IData Structure
  428.  
  429. [RETURNS]
  430.  
  431. (None)
  432.  
  433. [DESCRIPTION]
  434.  
  435. [SEE-ALSO]
  436.  
  437. [EXAMPLE]
  438.  
  439.  
  440. ──────────────────────────────────────────────────────────────────────────────
  441.  
  442.  
  443. [FUNCTION]
  444.  
  445. Procedure VUARTSetDTR(                 ComPort      : WORD;
  446.                                        OnOff        : BOOLEAN;
  447.                                        IData        : PUARTIData);
  448.  
  449. [PARAMETERS]
  450.  
  451. ComPort     Communications Port Number
  452. OnOff       Whether to Set the ... (TRUE=On)
  453. IData       Pointer to UART IData Structure
  454.  
  455. [RETURNS]
  456.  
  457. (None)
  458.  
  459. [DESCRIPTION]
  460.  
  461. [SEE-ALSO]
  462.  
  463. [EXAMPLE]
  464.  
  465.  
  466. ──────────────────────────────────────────────────────────────────────────────
  467.  
  468.  
  469. [FUNCTION]
  470.  
  471. Procedure VUARTGetTimeTickInfo(    Var TickNum      : BYTE;
  472.                                    Var TickPSec     : BYTE;
  473.                                    Var MilPTick     : WORD     );
  474.  
  475. [PARAMETERS]
  476.  
  477. TickNum     VAR Returned Current Number of Clock Ticks
  478. TickPSec    VAR Returned Number of Ticks Per Second
  479. MilPTick    VAR Returned ?
  480.  
  481. [RETURNS]
  482.  
  483. Function : None
  484. (VAR     : [TickNum] Current Number of Clock Ticks)
  485. (VAR     : [TickPSec] Number of Ticks Per Second)
  486. (VAR     : [MilPTick] ?)
  487.  
  488. [DESCRIPTION]
  489.  
  490. [SEE-ALSO]
  491.  
  492. [EXAMPLE]
  493.  
  494.  
  495. ──────────────────────────────────────────────────────────────────────────────
  496.  
  497.  
  498. [FUNCTION]
  499.  
  500. Procedure VUARTFlushOutBuff(           ComPort      : WORD     );
  501.  
  502. [PARAMETERS]
  503.  
  504. ComPort     Communications Port Number
  505.  
  506. [RETURNS]
  507.  
  508. (None)
  509.  
  510. [DESCRIPTION]
  511.  
  512. [SEE-ALSO]
  513.  
  514. [EXAMPLE]
  515.  
  516.  
  517. ──────────────────────────────────────────────────────────────────────────────
  518.  
  519.  
  520. [FUNCTION]
  521.  
  522. Procedure VUARTPurgeOutBuff(           ComPort      : WORD;
  523.                                        IData        : PUARTIData);
  524.  
  525. [PARAMETERS]
  526.  
  527. ComPort     Communications Port Number
  528. IData       Pointer to UART IData Structure
  529.  
  530. [RETURNS]
  531.  
  532. (None)
  533.  
  534. [DESCRIPTION]
  535.  
  536. [SEE-ALSO]
  537.  
  538. [EXAMPLE]
  539.  
  540.  
  541. ──────────────────────────────────────────────────────────────────────────────
  542.  
  543.  
  544. [FUNCTION]
  545.  
  546. Procedure VUARTPurgeInBuff(            ComPort      : WORD;
  547.                                        IData        : PUARTIData);
  548.  
  549. [PARAMETERS]
  550.  
  551. ComPort     Communications Port Number
  552. IData       Pointer to UART IData Structure
  553.  
  554. [RETURNS]
  555.  
  556. (None)
  557.  
  558. [DESCRIPTION]
  559.  
  560. [SEE-ALSO]
  561.  
  562. [EXAMPLE]
  563.  
  564.  
  565. ──────────────────────────────────────────────────────────────────────────────
  566.  
  567.  
  568. [FUNCTION]
  569.  
  570. Procedure VUARTSendChar(               ComPort      : WORD;
  571.                                        Ch           : CHAR;
  572.                                    Var BuffFull     : BOOLEAN;
  573.                                        IData        : PUARTIData);
  574.  
  575. [PARAMETERS]
  576.  
  577. ComPort     Communications Port Number
  578. Ch          Character to Send
  579. BuffFull    VAR Returned Whether Receiver's Buffer is Full (TRUE=Full)
  580. IData       Pointer to UART IData Structure
  581.  
  582. [RETURNS]
  583.  
  584. Function : None
  585. (VAR     : [BuffFull] Whether Receiver's Buffer is Full)
  586. [DESCRIPTION]
  587.  
  588. [SEE-ALSO]
  589.  
  590. [EXAMPLE]
  591.  
  592.  
  593. ──────────────────────────────────────────────────────────────────────────────
  594.  
  595.  
  596. [FUNCTION]
  597.  
  598. Procedure VUARTRecvChar(               ComPort      : WORD;
  599.                                    Var Ch           : CHAR;
  600.                                    Var BuffEmpty    : BOOLEAN;
  601.                                        IData        : PUARTIData);
  602.  
  603. [PARAMETERS]
  604.  
  605. ComPort     Communications Port Number
  606. Ch          VAR Returned Character...
  607. BuffEmpty   VAR Returned Whether Receive Buffer is Empty (TRUE=Empty)
  608. IData       Pointer to UART IData Structure
  609.  
  610. [RETURNS]
  611.  
  612. Function : None
  613. (VAR     : [Ch] Character...
  614. (VAR     : [BuffEmpty] Whether Reveive Buffer is Empty)
  615.  
  616. [DESCRIPTION]
  617.  
  618. [SEE-ALSO]
  619.  
  620. [EXAMPLE]
  621.  
  622.  
  623. ──────────────────────────────────────────────────────────────────────────────
  624.  
  625.  
  626. [FUNCTION]
  627.  
  628. Procedure VUARTPeekAhead(              ComPort      : WORD;
  629.                                    Var BuffEmpty    : BOOLEAN;
  630.                                    Var Ch           : CHAR     );
  631.  
  632. [PARAMETERS]
  633.  
  634. ComPort     Communications Port Number
  635. BuffEmpty   VAR Returned Whether In Buffer is Empty
  636. Ch          VAR Returned Next Available Character in Buffer
  637.  
  638. [RETURNS]
  639.  
  640. Function : None
  641. (VAR     : [BuffEmpty] Whether In Buffer is Empty)
  642. (VAR     : [Ch] Next Available Character in Buffer)
  643.  
  644. [DESCRIPTION]
  645.  
  646. [SEE-ALSO]
  647.  
  648. [EXAMPLE]
  649.  
  650.  
  651. ──────────────────────────────────────────────────────────────────────────────
  652.  
  653.  
  654. [FUNCTION]
  655.  
  656. Procedure VUARTSetFlowControl(         ComPort      : WORD;
  657.                                        FlowStat     : BYTE     );
  658.  
  659. [PARAMETERS]
  660.  
  661. ComPort     Communications Port Number
  662. FlowStat    ?
  663.  
  664. [RETURNS]
  665.  
  666. (None)
  667.  
  668. [DESCRIPTION]
  669.  
  670.    ComPort,
  671.    FlowStat  Bit 0 = 1 Enable receiving of Xon/Xoff. This will stop
  672.                        transmitting when Xoff is received.
  673.  
  674.              Bit 1 = 1 Enable RTS/CTS flow control. This will drop RTS
  675.                        when receive buffer is 3/4 full and will be
  676.                        raised when buffer is emptied to 1/4 full.  If
  677.                        the baud rate is locked, then RTS/CTS will be
  678.                        forced.  NOT IMPLEMENTED YET.
  679.  
  680.              Bit 2 = 0 Reserved.  Should always be 0.
  681.  
  682.              Bit 3 = 1 Enable transmitting of Xon/Xoff.  This will
  683.                        send an Xoff when the buffers are 3/4 full, and
  684.                        will send an Xon when they return to 1/4 full.
  685.  
  686.      Reserved. ISR uses.
  687.  
  688.              Bit 4 = 1 XOFF is currently set.  Do not transmit.
  689.  
  690. [SEE-ALSO]
  691.  
  692. [EXAMPLE]
  693.  
  694.  
  695. ──────────────────────────────────────────────────────────────────────────────
  696.  
  697.  
  698. [FUNCTION]
  699.  
  700. Procedure VUARTControlCheck(           ComPort      : WORD;
  701.                                        CtrlStat     : BYTE;
  702.                                    Var CtrlRcv      : BOOLEAN  );
  703.  
  704. [PARAMETERS]
  705.  
  706. ComPort     Communications Port Number
  707. CtrlStat    ?
  708. CtrlRcv     VAR Returned ?
  709.  
  710. [RETURNS]
  711.  
  712. Function : None
  713. (VAR     : [CtrlRcv] ?)
  714.  
  715. [DESCRIPTION]
  716.  
  717. [SEE-ALSO]
  718.  
  719. [EXAMPLE]
  720.  
  721.  
  722. ──────────────────────────────────────────────────────────────────────────────
  723.  
  724.  
  725. [FUNCTION]
  726.  
  727. Procedure VUARTRecvBlock(              ComPort      : WORD;
  728.                                        Buff         : POINTER;
  729.                                        Count        : WORD;
  730.                                    Var Result       : WORD     );
  731.  
  732. [PARAMETERS]
  733.  
  734. ComPort     Communications Port Number
  735. Buff        Pointer to Data Buffer to Receive
  736. Count       Maximum Number of Bytes to Receive
  737. Result      VAR Returned Error Code (0=Success)
  738.  
  739. [RETURNS]
  740.  
  741. Function : None
  742. (VAR     : [Result] Error Code)
  743.  
  744. [DESCRIPTION]
  745.  
  746. [SEE-ALSO]
  747.  
  748. [EXAMPLE]
  749.  
  750.  
  751. ──────────────────────────────────────────────────────────────────────────────
  752.  
  753.  
  754. [FUNCTION]
  755.  
  756. Procedure VUARTSendBlock(              ComPort      : WORD;
  757.                                        Buff         : POINTER;
  758.                                        Count        : WORD;
  759.                                    Var Result       : WORD     );
  760.  
  761. [PARAMETERS]
  762.  
  763. ComPort     Communications Port Number
  764. Buff        Pointer to Data Buffer to Send
  765. Count       Number of Bytes in Buffer
  766. Result      VAR Returned Error Code (0=Success)
  767.  
  768. [RETURNS]
  769.  
  770. Function : None
  771. (VAR     : [Result] Error Code)
  772.  
  773. [DESCRIPTION]
  774.  
  775. [SEE-ALSO]
  776.  
  777. [EXAMPLE]
  778.  
  779.  
  780. ──────────────────────────────────────────────────────────────────────────────
  781.  
  782.  
  783. [FUNCTION]
  784.  
  785. Procedure VUARTSetBreak(               ComPort      : WORD;
  786.                                        OnOff        : BOOLEAN  );
  787.  
  788. [PARAMETERS]
  789.  
  790. ComPort     Communications Port Number
  791. OnOff       Active Status (TRUE=On)
  792.  
  793. [RETURNS]
  794.  
  795. (None)
  796.  
  797. [DESCRIPTION]
  798.  
  799. [SEE-ALSO]
  800.  
  801. [EXAMPLE]
  802.  
  803.  
  804. ──────────────────────────────────────────────────────────────────────────────
  805.  
  806.  
  807. [FUNCTION]
  808.  
  809. Procedure UARTSerDriverProc( SDP : PSerDriverPacket );
  810.  
  811. [PARAMETERS]
  812.  
  813. SDP         Pointer to Serial Driver Packet
  814.  
  815. [RETURNS]
  816.  
  817. (None)
  818.  
  819. [DESCRIPTION]
  820.  
  821. [SEE-ALSO]
  822.  
  823. [EXAMPLE]
  824.  
  825.